/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.Abstracts;

import br.com.model.Token;
import java.util.ArrayList;

/**
 *
 * @author Bush
 */
public abstract class AbstractTratadorSintaticoToken {
    protected AbstractTratadorSintaticoToken sucessor;
    
    
    public void tratador(ArrayList<Token> tokens,int pos, ArrayList<String> erros) { // Formato erro = ERRO: Faltou ponto final : Numero da linha
        isValido(tokens,pos,erros);
    }
    
    public void setProximoConjunto(AbstractTratadorSintaticoToken conjunto){
        if(this.sucessor == null)
            this.sucessor = conjunto;
        else
            this.sucessor.setProximoConjunto(conjunto);
    }  
    
    public abstract void isValido(ArrayList<Token> tokens,int pos, ArrayList<String> erros); 
}
